Bluetooth is a short-range wireless technology that uses the 2.4 GHz Industrial, Scientific and Medical (ISM) band. Bluetooth is particularly intended for small mobile devices such as notebook computers, mobile phones, and personal digital assistants (PDAs). Pseudo-random frequency-hopping techniques are employed by communicating Bluetooth devices to minimize the effects of signal interference in the ISM band. The Bluetooth technology is set forth in detail in Bluetooth Special Interest Group (SIG), Specification of the Bluetooth System (hereinafter “the Bluetooth Specification”), Version 1.0, Dec. 1, 1999, and Version 1.2, Nov. 5, 2003, incorporated herein by reference.
The Bluetooth Personal Area Networking Profile (hereinafter “the PAN Profile”) provides a conceptual basis on which two or more Bluetooth-enabled devices can form and participate in personal area networks (PANs), allowing them to interoperate and exchange data. (See Bluetooth SIG, Personal Area Networking Profile, Version 1.0, Feb. 14, 2003, incorporated herein in its entirety by reference.) The PAN Profile describes three roles that a Bluetooth device may perform: Network Access Point (NAP), Group Ad-hoc Network (GN), and Personal Area Network User (PANU). NAP and GN correspond to services that may be used by a Bluetooth device operating as a client PANU. “NAP”, “GN,” and “PANU” will be used hereinafter to refer to the Bluetooth-equipped node providing the respective NAP, GN or PANU service.
In the Bluetooth context, a NAP is a device that contains one or more Bluetooth radio devices and acts as a bridge, proxy or router to a second network (such as a 10BaseT Ethernet LAN) with respect to one or more PANUs with a Bluetooth wireless connection to the NAP. Each such PANU thereby may gain access to the second network's shared resources. A GN is a collection of Bluetooth devices that interact with one another to form a self-contained temporary wireless network (or “piconet”) without the use of additional networking hardware or infrastructure. In both the NAP and the GN scenarios, data exchange is by way of the Bluetooth Network Encapsulation Protocol (BNEP), which provides for encapsulation of Ethernet packets. (See Bluetooth SIG, Bluetooth Network Encapsulation Protocol (BNEP) Specification, Version 1.0, Feb. 14, 2003, incorporated herein in its entirety by reference.)
There are a number of different ways in which one Bluetooth device may select another Bluetooth device in order to establish a connection to the second device. One desirable feature is for the first device to maintain a list of preferred devices or networks from which a selection can be made. While an application running on a Bluetooth device may make an explicit request to discover, select and form a connection to a particular Bluetooth device, applications merely requiring connectivity to enable their networked features benefit from the device having an automatic configuration service to establish connectivity. Moreover, a common, unified automatic configuration service for the various wireless technologies available to a device is desirable. Certain features and embodiments of such a unified service have been disclosed in U.S. patent application Ser. No. 10/693,655, “Network and Interface Selection on a Computing Device Capable of Establishing Connections Via Multiple Network Communications Media,” filed Oct. 24, 2003, having certain inventors and an assignee in common with the present invention, and incorporated herein by reference.
One drawback to Bluetooth technology is its relatively time-intensive device discovery phase of establishing a connection to an in-range Bluetooth device. In general, to discover new Bluetooth-capable devices (for which address and low-level state information is not already known), an inquiry scan is performed at the Baseband level, the lowest layer of the Bluetooth networking protocol stack. Once a list of discovered devices has been obtained by way of an inquiry scan, a page scan can be performed with respect to a selected device. Following a page scan, a local device and remote device can enter a connection state.
Under the specifications for the Baseband in the Bluetooth Specification, the inquiry process time is significantly longer than the page process time. Depending on the underlying hardware and the number of discoverable devices within radio range, the inquiry process may take up to 30.72 seconds under version 1.0 of the Bluetooth Specification, while the maximum time for the paging process is 2.56 seconds. The inquiry phase thus substantially dominates the time spent in scanning for in-range Bluetooth devices, and can lead to unacceptable delays for a device user waiting for a connection to occur over a local Bluetooth PAN device. It is desirable, then, to minimize the time spent in the inquiry scan phase when discovering, selecting and connecting to preferred Bluetooth devices.